//RobDeviceInterface.h

//gsoap ns service name:	RobDeviceInterface
//gsoap ns service style:	rpc
//gsoap ns service encoding:	encoded
//gsoap ns service namespace:	urn:RobDeviceInterface
//gsoap ns service location:	http://localhost:8080/RobDeviceInterface/

enum xsd__boolean {false_, true_};

//gsoap ns service method-documentation: empty struct used for no return argument method
struct ns__EmptyStruct{};

//gsoap ns service method-documentation: int array
struct ns__IntArray
{
	int * __ptr; // points to array elements
	int __size; // number of elements pointed to
	int __offset;//not used
};

//gsoap ns service method-documentation: double array
struct ns__DoubleArray
{
	double * __ptr; // points to array elements
	int __size; // number of elements pointed to
	int __offset;//not used
};

//gsoap ns service method-documentation: binary array
struct ns__Base64Binary
{
	unsigned char * __ptr;
	int __size;
};

//gsoap ns service method-documentation: hex binary array
struct ns__HexBinary
{
	unsigned char * __ptr;
	int __size;
};


//gsoap ns service method-documentation: 
int ns__DeviceDictionary_GetHardwareID( int deviceIndex, int *retHardwareID);

int ns__DeviceDictionary_GetName( int deviceIndex, char **retName);

int ns__DeviceDictionary_GetPose( int deviceIndex, struct ns__DoubleArray *retPose);

int ns__DeviceDictionary_GetDeviceNumber( int deviceIndex, int *retDeviceNumber);

int ns__DeviceDictionary_GetNextDevice( int deviceIndex,  int currentDeviceType,  int currentDeviceIndex, struct ns__IntArray *retNextDevice);




int ns__Stream_GetHardwareID( int deviceIndex, int *retHardwareID);

int ns__Stream_GetName( int deviceIndex, char **retName);

int ns__Stream_GetPose( int deviceIndex, struct ns__DoubleArray *retPose);




int ns__AnalogSensor_GetHardwareID( int deviceIndex, int *retHardwareID);

int ns__AnalogSensor_GetName( int deviceIndex, char **retName);

int ns__AnalogSensor_GetPose( int deviceIndex, struct ns__DoubleArray *retPose);

int ns__AnalogSensor_GetNormalizedMeasurement( int deviceIndex, double *retValue);

int ns__AnalogSensor_GetRawMeasurement( int deviceIndex, double *retValue);

int ns__AnalogSensor_GetRawMeasurementRange( int deviceIndex, double *retValue);

int ns__AnalogSensor_GetTimeStamp( int deviceIndex, time_t *retValue);




int ns__ContactSensor_GetHardwareID( int deviceIndex, int *retHardwareID);

int ns__ContactSensor_GetName( int deviceIndex, char **retName);

int ns__ContactSensor_GetPose( int deviceIndex, struct ns__DoubleArray *retPose);

int ns__ContactSensor_IsPressed( int deviceIndex, enum xsd__boolean *retIsPressed);

int ns__ContactSensor_GetTimeStamp( int deviceIndex, time_t *retValue);




int ns__Battery_GetHardwareID( int deviceIndex, int *retHardwareID);

int ns__Battery_GetName( int deviceIndex, char **retName);

int ns__Battery_GetPose( int deviceIndex, struct ns__DoubleArray *retPose);

int ns__Battery_GetMaxBatteryPower( int deviceIndex, double *retMaxPower);

int ns__Battery_GetPercentBatteryPower( int deviceIndex, double *retPercentPower);

int ns__Battery_GetPercentCriticalBattery( int deviceIndex, double *retPercentPower);

int ns__Battery_SetPercentCriticalBattery( double critcalPercent, struct ns__EmptyStruct *retEmpty);




int ns__Motor_GetHardwareID( int deviceIndex, int *retHardwareID);

int ns__Motor_GetName( int deviceIndex, char **retName);

int ns__Motor_GetPose( int deviceIndex, struct ns__DoubleArray *retPose);

int ns__Motor_GetCurrentMotorPower( int deviceIndex, double *retPower);

int ns__Motor_GetCurrentMotorPos( int deviceIndex, double *retPose);

int ns__Motor_GetCurrentMotorSpeed( int deviceIndex, double *retSpeed);

int ns__Motor_GetGearRatio( int deviceIndex, double *retGearRatio);

int ns__Motor_GetWheelRadius( int deviceIndex, double *retWheelRadius);

int ns__Motor_SetTargetMotorPower( int deviceIndex,  double power, struct ns__EmptyStruct *retEmpty);

int ns__Motor_SetTargetMotorPos( int deviceIndex,  double pose, struct ns__EmptyStruct *retEmpty);

int ns__Motor_SetTargetMotorSpeed( int deviceIndex,  double speed, struct ns__EmptyStruct *retEmpty);

int ns__Motor_SetTarget( int deviceIndex,  double pose,  double speed,  double refPower, struct ns__EmptyStruct *retEmpty);

int ns__Motor_Stop( int deviceIndex, struct ns__EmptyStruct *retEmpty);




int ns__Encoder_GetHardwareID( int deviceIndex, int *retHardwareID);

int ns__Encoder_GetName( int deviceIndex, char **retName);

int ns__Encoder_GetPose( int deviceIndex, struct ns__DoubleArray *retPose);

int ns__Encoder_GetCurrentAngle( int deviceIndex, double *retAngle);

int ns__Encoder_GetCurrentReading( int deviceIndex, int *retReading);

int ns__Encoder_GetTicksPerRevolution( int deviceIndex, int *retTicksPerRev);

int ns__Encoder_GetTicksSinceReset( int deviceIndex, int *retTicksSinceReset);

int ns__Encoder_ResetTickCounter( int deviceIndex, struct ns__EmptyStruct *retEmpty);

int ns__Encoder_GetTimeStamp( int deviceIndex, time_t *retValue);




int ns__Sonar_GetHardwareID( int deviceIndex, int *retHardwareID);

int ns__Sonar_GetName( int deviceIndex, char **retName);

int ns__Sonar_GetPose( int deviceIndex, struct ns__DoubleArray *retPose);

int ns__Sonar_GetAngularRange( int deviceIndex, double *retAnglarRange);

int ns__Sonar_GetAngularResolution( int deviceIndex, double *retAnglarResolution);

int ns__Sonar_GetMaxDistance( int deviceIndex, double *retMaxDistance);

int ns__Sonar_GetDistanceMeasurement( int deviceIndex, double *retDistance);

int ns__Sonar_GetTimeStamp( int deviceIndex, time_t *retValue);




int ns__Camera_GetHardwareID( int deviceIndex, int *retHardwareID);

int ns__Camera_GetName( int deviceIndex, char **retName);

int ns__Camera_GetPose( int deviceIndex, struct ns__DoubleArray *retPose);

int ns__Camera_GetImageSize( int deviceIndex, struct ns__IntArray *retImageSize);

int ns__Camera_GetViewAngle( int deviceIndex, double *retViewAngle);

int ns__Camera_GetQuality( int deviceIndex, double *retQuality);

int ns__Camera_GetLastFrame( int deviceIndex, struct ns__Base64Binary *retLastFrame);

int ns__Camera_GetTimeStamp( int deviceIndex, time_t *retValue);




int ns__SickLRF_GetHardwareID( int deviceIndex, int *retHardwareID);

int ns__SickLRF_GetName( int deviceIndex, char **retName);

int ns__SickLRF_GetPose( int deviceIndex, struct ns__DoubleArray *retPose);




int ns__Arm_GetHardwareID( int deviceIndex, int *retHardwareID);

int ns__Arm_GetName( int deviceIndex, char **retName);

int ns__Arm_GetPose( int deviceIndex, struct ns__DoubleArray *retPose);

int ns__Arm_GetCurrentJointPose( int deviceIndex, struct ns__DoubleArray *retCurrentJointPose);

int ns__Arm_GetCurrentJointVel( int deviceIndex, struct ns__DoubleArray *retCurrentJointVel);

int ns__Arm_MoveJoint( int deviceIndex, struct ns__DoubleArray toJointValues, double speed, double flyByZone, struct ns__EmptyStruct *retEmpty);

int ns__Arm_Stop( int deviceIndex,  enum xsd__boolean followPath, struct ns__EmptyStruct *retEmpty);




int ns__DifferentialDrive_GetHardwareID( int deviceIndex, int *retHardwareID);

int ns__DifferentialDrive_GetName( int deviceIndex, char **retName);

int ns__DifferentialDrive_GetPose( int deviceIndex, struct ns__DoubleArray *retPose);

int ns__DifferentialDrive_GetCurrentMoveSpeed( int deviceIndex, double *retMoveSpeed);

int ns__DifferentialDrive_GetCurrentTurnSpeed( int deviceIndex, double *retTurnSpeed);

int ns__DifferentialDrive_SetMoveSpeed( int deviceIndex,  double moveSpeed, struct ns__EmptyStruct *retEmpty);

int ns__DifferentialDrive_SetTurnSpeed( int deviceIndex,  double turnSpeed, struct ns__EmptyStruct *retEmpty);

int ns__DifferentialDrive_Stop( int deviceIndex,struct ns__EmptyStruct *retEmpty);